System for determining pointer position, movement, and angle

ABSTRACT

An a data input system includes an encoded pad having position encoding and a data input device adapted to image a portion of the encoded pad to determine position and orientation of the data input device relative to the encoded pad. The encoding pad includes a plurality of correlation windows. Each correlation window includes a primary encoding marker in form of vertical line segment and a set of secondary encoding markers in form of diagonal line segments, at least one diagonal line segment intersecting the vertical line segment at an intersection angle. Spacing of the diagonal line segments encodes the X-axis position of the input device relative to the encoding pad. Intersection angle encodes the Y-axis position of the input device relative to the encoding pad. Angle of the primary encoding marker vertical line segment within the frame of the captured image encodes the angular orientation of the input device relative to the axes of the encoded pad.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a divisional of application Ser. No. 10/870,881, filed Jun. 17,2004 now U.S. Pat. No. 7,557,799, the entire disclosure of which isincorporated by into this application by reference.

BACKGROUND

The present invention relates to data input systems, and moreparticularly, to a data input system including an improved computermouse and mouse pad.

In computer user interfaces, pointing devices such as computer mouse areoften used to enter movement information. For example, an optical mouseis commonly used as an input device to provide displacement informationwhich is used to move a mouse pointer on a screen. Here, displacementmeans a measurement of distance moved from a starting position to anending position. The optical mouse, however, does not provide positioninformation. That is, using the current generation optical mouse, itsposition (within a mouse pad on which the optical mouse sits) is notavailable. Position information can be obtained if a graphic inputtablet and its associated graphic input tablet pen are used as the inputdevice; however, the graphic input tablet and pen system does notprovide displacement information available from the mouse.

Further, the optical mouse does not provide orientation information.That is, using the current generation optical mouse, its orientation(direction that the mouse is pointing relative to the mouse pad grid)information is not available. Orientation information can be obtained ifa joystick or a keypad is used as the input device; however, neither thejoystick nor the keypad provides displacement information available fromthe mouse. For certain applications such as computer gaming and devicecontrol using an input device, it may be desirable for an input systemto be able to provide positional, directional, and displacementinformation to a host computer.

Accordingly, there remains a need for an input system capable ofproviding positional, directional, and displacement information.

SUMMARY

The need is met by the present invention. In a first embodiment of thepresent invention, a data input system includes an encoded pad havingposition encoding and a data input device adapted to image a portion ofthe encoded pad to determine position and orientation of the data inputdevice relative to the encoded pad.

In a second embodiment of the present invention, an encoded pad includesa plurality of correlation windows. Each correlation window includes aprimary encoding marker and a set of secondary encoding markers adaptedto indicate positional information in a first axis of the encoded pad. Arelationship between the primary marker and at least one secondaryencoding marker indicates positional information in a second axis of theencoded pad.

In a third embodiment of the present invention, an encoded pad includesa variation of a first reflectance along a first axis of the encodedpad, the variation of the first reflectance material adapted to indicatepositional information in the first axis of the encoded pad. Further,the encoded pad includes a variation of a second reflectance along asecond axis of the encoded pad, the variation of the second reflectancematerial adapted to indicate positional information in the second axisof the encoded pad.

Other aspects and advantages of the present invention will becomeapparent from the following detailed description, taken in conjunctionwith the accompanying drawings, illustrating by way of example theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a data input system in accordance with one embodimentof the present invention;

FIG. 2 illustrates data input device portion of the data input system inaccordance with one embodiment of the present invention in more detail;

FIGS. 3A, 3B, and 4 illustrate encoded pad portion of the data inputsystem in accordance with one embodiment of the present invention inmore detail;

FIG. 5 illustrates a three dimensional correlation diagram;

FIG. 6 is a flowchart illustrating one aspect of the present invention;

FIG. 7 illustrates data input device portion of the data input system inaccordance with another embodiment of the present invention in moredetail;

FIG. 8 illustrates encoded pad portion of the data input system of FIG.7 in accordance in more detail; and

FIG. 9 is a flowchart illustrating yet another aspect of the presentinvention.

DETAILED DESCRIPTION

The present invention will now be described with reference to FIGS. 1through 9 which illustrate various embodiments of the present invention.In the Figures, some sizes of structures or portions may be exaggeratedrelative to sizes of other structures or portions for illustrativepurposes and, thus, are provided to illustrate the general structures ofthe present invention. Furthermore, various aspects of the presentinvention are described with reference to a structure or a portionpositioned “on” or “over” relative to other structures, portions, orboth. As will be appreciated by those of skill in the art, relativeterms and phrases such as “on” or “over” are used herein to describe onestructure's or portion's relationship to another structure or portion asillustrated in the Figures. It will be understood that such relativeterms are intended to encompass different orientations of the device inaddition to the orientation depicted in the Figures. For example, if thedevice in the Figures is turned over, rotated, or both, the structure orthe portion described as “on” or “over” other structures or portionswould now be oriented “below,” “under,” “left of,” “right of,” “in frontof,” or “behind” the other structures or portions.

As shown in the Figures for the purposes of illustration, embodiments ofthe present invention are exemplified by a data input system includingan encoded pad and a data input device adapted to view the encoded padto determine its position and orientation of the input device relativeto the encoded pad. That is, the data input device (for example, acomputer mouse) of the present invention need not be moved in order tocommunicate its position and angular information. Further, the datainput device also operates similar to the prior art mouse in determiningand transmitting displacement information.

FIG. 1 illustrates a data input system 10 including an encoded pad 20having position and orientation encoding and a data input device 30adapted to view the encoded pad 20 to determine position and orientationof the data input device 30 relative to the encoded pad 20. In FIG. 1,the data input device 30 is illustrated as an optical computer mouse 30;however, the present invention can be implemented as other types of datainput devices such as, for example only, a modified keyboard, joy stick,and tablet-pens system. The optical computer mouse 30 can be configuredto communicate with a host computer system 40 connected to a displayedapparatus 50 such as a computer monitor 50.

FIG. 2 is a simplified block diagram of the optical computer mouse 30 ofFigure and a side view of the encoded pad 20 of FIG. 1. FIG. 3Aillustrates a top view of the encoded pad 20 and FIG. 3B illustrates aportion 60 of the encoded pad 20 in more detail. Referring to FIGS. 2through 3B, the data input system 10 includes an encoded pad 20 havingposition encoding and defining a two dimensional plane in the X-axis andY-axis as illustrated in FIG. 2A using encoded pad axes indicator 22.The data input device 30 is illustrated as an optical computer mouse 30for convenience. The optical computer mouse 30 includes an image sensor32 adapted to image a relatively small portion of the encoded pad 20through an optical opening 34 that may be covered with an opticallyclear lens. The image of the small portion of the encoded pad 20 is usedto determine position and orientation of the optical computer mouse 30relative to the encoded pad 20. For convenience, the two dimensionalplane of the encoding pad is indicated by the axes indicator 22 andreference number 22.

The image sensor 32 includes, for example, a 30 by 30 array of photodetectors capturing an area of 2 millimeters (mm) by 2 mm square portion(“image size”) of the encoded pad 20 for analysis. The image sensor 32captures these images many times a second, for example 1000 times asecond, such that when the optical computer mouse 30 slides on theencoded pad 20, slightly different portion of the encoded pad iscaptured.

In FIG. 3B illustrates the portion 60 of the encoded pad 20 in moredetail. Continuing to refer to FIGS. 2 through 3B, the encoded pad 20includes a plurality of correlation windows four of which areillustrated in the portion 60 of FIG. 3B as correlation windows 62 a, 62b, 62 c, and 62 d. For convenience, reference number 62 is used to referto correlation windows in a generic sense. A particular correlationwindow is designated with number 62 concatenated with a letter of thealphabet. Each correlation window 62 has lateral dimensions 61 and 63defining a correlation window area that is smaller than the image size.

In the illustrated embodiment, the plurality of correlation windows 62is laid out in a grid pattern within the X-Y plane 22 of the encoded pad20. Each correlation window includes a number of elements illustrated,as an example, within the first correlation window 62 a. The firstcorrelation window 62 a includes a primary encoding marker 64 a and aset of secondary encoding markers 66 a. In the illustrated sampleembodiment, the primary encoding marker 64 a is a portion of a verticalline segment running along the Y-axis of the two dimensional plane 22 ofthe encoded pad 20 and the secondary encoding markers 66 a are diagonalline segments 66 a at least one of which intersect the primary encodingmarker 64 a at an angle. In FIG. 3B, to avoid clutter, only three of sixsecondary encoding markers are designated with the reference number 66a.

For convenience, reference number 64 is used to refer to primaryencoding markers in a generic sense. A particular primary encodingmarker is designated with number 64 concatenated with a letter of thealphabet. For convenience, reference number 66 is used to refer to a setof secondary encoding markers in a generic sense. A particular primaryset of secondary encoding markers is designated with number 66concatenated with a letter of the alphabet.

In the illustrated sample embodiment, the secondary encoding markers areadapted to indicate positional information in the first axis, X-axis, ofthe encoding pad. The encoding is accomplished by varying the spacing ofthe diagonal line segments 66 a between the correlation windows 62. Forexample, the first correlation window 62 a includes a set of secondaryencoding markers (diagonal line segments) 66 a having a first spacing 65a, the first spacing 65 a encoding its position, X1, in the X-axis; anda second correlation window 62 b includes a set of secondary encodingmarkers (diagonal line segments) 66 b having a second spacing 65 b thesecond spacing 65 b encoding its position, X2, in the X-axis.

The second spacing 65 b is different than the first spacing 65 a. Allcorrelation windows encoding the same position X1 share the same firstspacing 65 a value. For example, a third correlation window 62 c has setof secondary encoding markers (diagonal line segments) 66 c having afirst spacing 65 a to indicate that it too has the same position X1 inthe X-axis. Likewise, the fourth correlation window 62 d, having thesame position X2 in the X-axis as the correlation window 62 b, has thesame second spacing 65 b encoding its position, X2, in the X-axis as thesecond correlation window 62 b.

For each correlation window 62, the positional information in the secondaxis, the Y-axis, of the encoding pad 20 is encoded in an angularrelationship between the primary marker 64 and at least one secondaryencoding marker 66. For example, in the correlation window 62, one ofthe secondary encoding markers 66 a intersects the primary encodingmarker 64 a at a first angle 67 a. The first angle 67 a encodesposition, Y1, of the first correlation window 62 a in the Y-axis. Thesecond correlation window 62 b also at location Y1; thus the angularrelationship between its primary encoding marker 64 b and its secondaryencoding marker 66 b is the first angle 67 a, the same angularrelationship that exists in the first correlation windows 62 a. However,the third correlation window 64 c has a Y-axis position of Y2. For thisreason, its angular relationship between its primary encoding marker 64c and its secondary encoding markers 66 c is third angle 67 c that isdifferent than the first angle 67 a of the first correlation windows 62a.

To distinguish the primary encoding markers 64 from the secondaryencoding markers 66, the primary encoding markers 64 are more pronouncedthen the secondary encoding markers 66. For example, the primaryencoding markers 64 can be darker, wider, or of a different color andthen the secondary encoding markers 66. Actual implementation of theprimary encoding markers and the secondary inquiry markers may very;however, in the illustrated embodiment, the primary encoding markers runalong at least one of the dimensional axes of the encoded pad 20. Inparticular, in the illustrated embodiment, the primary encoding markersrun along the second dimensional axis, the Y-axis and are implemented asvertical line segments.

Referring again to FIG. 2, the optical computer mouse 30 includes theimage sensor 32 adopted to capture an imager of at least a portion ofthe encoded pad 20. FIG. 4 illustrates one possible captured image R 70as the first correlation window 62 a of FIG. 3B. Referring to FIGS. 2,3A, and 4, the optical computer mouse 30 further includes a processor 36connected to the image sensor 32. The processor 36 is programmeddetermine, from the captured image R 70, a first encoded value forposition relative to a first axis of the encoded pad, a second encodedvalue for position relative to a second axis of the encoded pad, and athird value for orientation angle relative of the encoded pad.

The captured image R 70 is auto correlated. The autocorrelation functioncan be expressed as

$\begin{matrix}{{A_{RR}\left( {{dx},{dy}} \right)} = {\sum\limits_{n = 0}^{N - 1}\;{\sum\limits_{m = 0}^{N - 1}\;{{R\left\lbrack {n,m} \right\rbrack}{R\left\lbrack {{n + {dx}},{m + {dy}}} \right\rbrack}}}}} & \left( {{Eq}.\mspace{14mu} 1} \right)\end{matrix}$where

-   -   n and m are indexes used within Equation 1 (Eq. 1);    -   N is the number of pixels in one axis in the N by N image that        is being autocorrelated;    -   R[n, m] is the value of the captured image R at pixel n, m; and    -   R[n+dx, m+dy] is a displaced version of R[n, m].

Note that when the autocorrelation function has the followingproperties:

-   -   1. The autocorrelation has a maximum value at (0, 0). That is,        |A_(RR)(dx,dy)|≦A_(RR)(0,0).    -   2. The autocorrelation is symmetric about the origin. That is,        A_(RR)(dx,dy)=A_(RR)(−dx,−dy).    -   3. The autocorrelation has the same period as the captured        image R. That is, if R[n+T,m]=R[n,m], then        A_(RR)(dx+T,dy)=A_(RR)(dx,dy).    -   4. The autocorrelation does not change under translation of the        captured image R.    -   5. The autocorrelation rotates with the image R by the same        angle.

These properties of the autocorrelation mean that if the input imageconsists of two stripes meeting at an angle as illustrated in FIG. 4 inthe captured image 70, then the autocorrelation of the captured image 70can be used to identify the first and second encoded markers (linesegments) because the line segments appears as data ridges of theautocorrelation. Further, the primary encoding marker line segment 64 ais more prominent (compared to the secondary encoding marker linesegments) in the autocorrelation because of its thicker, pronouncedimplementation on the encoding pad 20. The autocorrelated data for aportion of the captured image 70 is illustrated in a three dimensionalcorrelation diagram 78 in FIG. 5. The correlation diagram 78 includesridges 64R and 66R corresponding to the primary marker line segment 64 aand the secondary marker line segment 66 a, respectively.

This, the processor 36 is programmed to determine, from the capturedimage 70, the first encoded value (the X-axis positional information) bydetermining the spacing 65 a of the secondary encoding marker linesegments as discussed above. Further, the processor 36 is programmed todetermine, from the captured image 70, the second encoded value (theY-axis positional information) by determining the intersection angle 67a as discussed above. The spacing 65 a value and the intersection angle67 a can be converted into X and Y positional value using apredetermined algorithm or using a conversion table within memory 37 ofthe input device 30. In short, in the illustrated sample embodiment, thefirst encoded value is translated into an X-axis position and the secondencoded value is translated into a Y-axis position and, together, theyrepresent a location on the X-Y plane of the encoded plane.

Finally, the processor 36 is programmed to determine, from the capturedimage 70, a third value for orientation angle relative of the encodedpad 20. The orientation angle is the angular orientation of the inputdevice 30 relative to the encoded pad's coordinate system 22. In fact,the input device 30 has its own orientation represented by the axisindicator 72 of the captured image 70. As illustrated in FIGS. 3B and 4,the first correlation window 62 a includes a primary encoding marker 64a aligned with the Y-axis of the encoded pad plane 22. In the Figures,the captured image axes 72 are rotated relative to the Y-axis of theencoded pad plane 22 as represented by the primary encoding marker 64 a.The angular difference 74 indicates the orientation angle of the inputdevice 30 relative to the encoded pad 20.

Once these values are determined, the information can be transmitted toa host computer 40 of FIG. 1 via a communication module 38 of the inputdevice 30 as illustrated in FIGS. 1 and 2.

In a sample implementation, a 30×30 pixel images that are about 2 mm ona side on the surface. A 5×5 Autocorrelation is computed for each image.On a striped pattern, measured angle estimation to 10 degrees (but 180degree ambiguity due to autocorrelation) is available. In fact, someoptical mice include multiple filters to select from at one of severaldegree angles. Interpolation is available down to ¼ pixels on mostsurfaces. Therefore, the spacing 65, or periodicity of the secondaryencoding markers can be up to eight levels from the +/−2 index shifts inthe 5×5 autocorrelation. Hence, with a common optical mouse, absoluteposition on the encoded pad can be estimated to varying resolutiondepending on the sizes of the captured image, the sizes of the primaryand secondary markers, and precision of the implemented software insub-pixel resolution.

A typical mouse pad, for example the encoded pad 20, can measure 6inches by 8 inches and can be divided into 25×25 rectangles. Eachrectangle is far larger than an image taken by the mouse. Thus, theposition is determinable to approximately 25% of the number ofrectangles. Referring again to FIG. 2, if the location of the opening 34of the optical computer mouse 30 is such that its field of view is notover a correlation window 62, it merely needs to be moved (normalmousing) so that it moves over, or at least crosses one of thecorrelation windows 62. Then, its current position (at any instant intime) can be determined by determining the position of that correlationwindow which the mouse 30 crossed and then combining to that thedisplacement information available from the mouse 30. The method ofdetermining the displacement information is well known in the art. Thatis, the displacement information is based on cross correlating a firstcaptured image with a second captured image which is a displaced versionof the first captured image. Optical mice use an image sensor whichdetermines displacement from a pair of N×N images, called a reference R(first captured image) and a comparison C (second captured image).Typically, the displacement is measured by minimizing a matchingfunction between R and C, such as the cross-correlation function:

$\begin{matrix}{{X_{RC}\left( {{dx},{dy}} \right)} = {\sum\limits_{n = 0}^{N - 1}\;{\sum\limits_{m = 0}^{N - 1}{{R\left\lbrack {n,m} \right\rbrack}{C\left\lbrack {{n + {dx}},{m + {dy}}} \right\rbrack}}}}} & \;\end{matrix}$This function can be minimized over candidate values of displacement(dx,dy).

Depending on implementation, it is not necessary to autocorrelate theentire captured image which may be 30 pixels by 30 pixels. In fact, tosave processing requirements, it may be preferable to autocorrelate aportion of the captured image as autocorrelation box with theautocorrelation box size ranging from 5 by 5 pixels to 30 pixels by 30pixels (the entire image).

These steps of providing positional information are outline in aflowchart diagram 80 of FIG. 6. Referring to FIG. 6, a portion of theencoded pad 20 is captured as an image. Step 82. Then, the image isautocorrelated and analyzed to determining a first encoded value forposition relative to a first axis of the encoded pad (step 84) and todetermining a second encoded value for position relative to a secondaxis of the encoded pad (step 86). Further, the image is used todetermining the orientation angle relative of the encoded pad. Step 88.Finally, the positional information is communicated to a host computer.Step 90.

Referring again to FIGS. 3A and 2B, the primary encoding markers 64 areseparated by a distance not less than the distance of the size of thecaptured image 70 of FIG. 4. In the illustrated embodiment, the primaryencoding markers 64 are separated by, for example, 5 mm though this canbe different depending on implementation. The correlation windows 66 arealso separated by a distance not less than the distance of the size ofthe captured image 70 of FIG. 4, for example 5 mm.

Other methods besides or in addition to autocorrelation can be used toextract information from an encoded mouse pad. For example, position ororientation information could be encoded in the color (or what isaccurate and more general, the wavelength-dependent reflectance) of thepad. Note that the wavelength-based encoding could use wavelengths thatfall outside of the range visible to humans, such as infra-red orultraviolet. One or more color sensors could be used to extract theadditional information. Alternatively, the reflectivity of the pad couldvary with position. In another approach a pseudorandom pattern could beprinted on the pad that would cause the shape of the autocorrelationfunction to depend on position.

In the color case, position could be encoded by making the chromaticityof the pad a unique function of position. For example, a pad could becreated with a uniform distribution of green, a linear variation of redin the x-direction and a linear variation of blue in the y-direction.The ratio of red to green could be measured to determine the x-axisposition of the mouse, and the ratio of blue to green could be measuredto determine the y-axis position. Orientation could be encoded by makingthe chromaticity of the pad vary monotonically along one or two axes. Apair of color sensors could be used to determine the orientation bymeasuring the chromaticity at opposite ends of the mouse.

FIG. 7 illustrates an alternative embodiment of the present invention.FIG. 7 includes a simplified block diagram of an alternative embodimentof an optical computer mouse 130 in accordance with the presentinvention and an alternative encoded pad 120. FIG. 8 includes a top viewof the encoded pad 120.

Referring to FIGS. 7 and 8, the encoded pad 120 has position andorientation encoding including a variation of a first reflectance alonga first axis (for example, the X-axis) of the encoded pad 120, thevariation of the first reflectance material adapted to indicatepositional information in the first axis of the encoded pad 120. Here,the encoded pad 120 also includes a variation of a second reflectancealong a second axis (for example, the Y-axis) of the encoded pad 120,the variation of the second reflectance material adapted to indicatepositional information in the second axis of the encoded pad 120. Thefirst and the second axes are illustrated using encoded pad axesindicator 122. The variation of the first reflectance along the firstaxis (X-axis) is indicated using line ray 121. The variation 121 of thefirst reflectance can be implemented as varying levels of chromaticityof a color such as, for example, red. The variation of the secondreflectance along the second axis (Y-axis) is indicated using line ray123. The variation 123 of the second reflectance can be implemented asvarying levels of chromaticity of a color such as, for example, blue.The encoded pad 120 can also include background chromaticity usinganother color such as, for example, green. The variations in the X-axisand the Y-axis can be linear variations.

The optical computer mouse 130 includes a first reflectance sensor 132adapted to measure, at a first region 161 of the encoded pad 120, afirst measure of reflectance and a second measure of reflectance via afirst opening 134 of the mouse 130. For example, the first reflectancesensor 132 can be a single pixel color photo detector measuringchromaticity of red (first measure of reflectance) and measuringchromaticity of blue (second measure of reflectance). A processor 136,connected to the first reflectance sensor 132, is adapted or programmedto determine, from the first measure of reflectance, a first encodedvalue for position relative to a first axis of the encoded pad 120 andto determine, from the second measure of reflectance, a second encodedvalue for position relative to a second axis of the encoded pad 120. Inshort, in the illustrated sample embodiment, the first encoded value istranslated into an X-axis position and the second encoded value istranslated into a Y-axis position and, together, they represent thelocation of the first region 161 on the X-Y plane of the encoded plane120. The location can be expressed as (X1, Y1). To translate themeasured reflectances, a predetermined algorithm can be used.Alternatively, a conversion table within memory 37 of the input device130 can be used for that purpose.

Likewise, the data input system 120 further includes a secondreflectance sensor 133 adapted to measure, at a second region 163 of theencoded pad 120, a third measure of reflectance, measuring firstreflectance at the second region 163, and a fourth measure ofreflectance, measuring second reflectance at the second region 163 via asecond opening 135 of the mouse 130. For example, the second reflectancesensor 133 can be a single pixel color photo detector measuringchromaticity of red (first measure of reflectance) and measuringchromaticity of blue (second measure of reflectance). The processor 136,also connected to the second reflectance sensor 133, is adapted orprogrammed to determine, from the third measure of reflectance, a thirdencoded value for position relative to a first axis of the encoded pad120 and to determine, from the fourth measure of reflectance, a fourthencoded value for position relative to a second axis of the encoded pad120. In short, in the illustrated sample embodiment, the third encodedvalue is translated into an X-axis position and the fourth encoded valueis translated into a Y-axis position and, together, they represent thelocation of the second region 162 on the X-Y plane of the encoded plane120. The location can be expressed as (X2, Y2).

The processor 136 is further programmed to determine, from the fourmeasures of reflectance, an orientation angle of the data input device.The locations of the four measurements can be expressed as (X1, Y1) and(X2, Y2) and define a line 165. The line 165 can be expressed in slopeintercept form whereY=mX+bwhere

-   -   m is the slope in rise over run format; and    -   b is where the line 165 would intercept the Y-axis should it        continue.

In an alternative embodiment, the openings 134 and 135 are the sameopening and the sensors 132 and 133 are two sensors from a single colorsensor array. The sensor array can be, for example, a CMOS(complementary metal-oxide semiconductor) color sensor array or a CCD(charge-coupled device) color sensor array.

These steps of providing positional information are outline in aflowchart diagram 180 of FIG. 9. Referring to FIG. 9, a first measure ofreflectance is measured at a first region 161 of the encoded pad 120.Step 182. Also, a second measure of reflectance is measured at the firstregion 161 of the encoded pad 120. Step 184. Then, from the firstmeasure of reflectance, a first encoded value (X1) is determined forposition relative to a first axis of the encoded pad 120. Step 186.Also, from the second measure of reflectance, a second encoded value(Y1) for position relative to a second axis of the encoded pad 120 isdetermined. Step 188. As before, these encoded values are communicatedto a host computer via a communications module of the 38 of the mouse130.

Further, for the second region 162 of the encoded pad 120, a thirdmeasure of reflectance and a fourth measure of reflectance are measured.From these measurements, a third encoded value (X2) and a fourth encodedvalue (Y2) are determined as already described. Also, using these fourencoded values from the four measures of reflectance, orientation angleis determined as explained above. The third encoded value, the fourthencoded value, and the orientation angle are also communicated to thehost computer.

From the foregoing, it will be apparent that the present invention isnovel and offers advantages over the current art. Although specificembodiments of the invention are described and illustrated above, theinvention is not to be limited to the specific forms or arrangements ofparts so described and illustrated. For example, differingconfigurations, sizes, or materials may be used but still fall withinthe scope of the present invention. The invention is limited by theclaims that follow.

1. A data input system comprising: an encoded pad having positionencoding; and a data input device adapted to image a portion of saidencoded pad to determine position and orientation of said data inputdevice relative to said encoded pad; wherein the encoded pad furthercomprises: a linear variation of a first reflectance along a first axisof the encoded pad, the linear variation of the first reflectancematerial being formed in accordance to positional information in thefirst axis of the encoded pad; and a linear variation of a secondreflectance along a second axis of the encoded pad, the linear variationof the second reflectance material being formed in accordance topositional information in the second axis of the encoded pad whereineach of the first and second reflectances is a wavelength dependentreflectance; a third reflectance uniformly distributed on the encodingpad, wherein position of the input device is computed through the ratioof the first reflectance to the third reflectance, and the ratio of thesecond reflectance to the third reflectance.
 2. The data input systemrecited in claim 1 wherein said data input device is an optical computermouse.
 3. The data input system recited in claim 1 wherein said datainput device comprises: a first reflectance sensor adapted to measure,at a first region of the encoded pad, a first measure of reflectance,measuring first reflectance at the first region, and a second measure ofreflectance, measuring second reflectance at the first region; aprocessor connected said first reflectance sensor, said processorprogrammed to: determine, from the first measure of reflectance, a firstencoded value for position relative to a first axis of the encoded pad;and determine, from the second measure of reflectance, a second encodedvalue for position relative to a second axis of the encoded pad.
 4. Thedata input system recited in claim 3 further comprising: a secondreflectance sensor adapted to measure, at a second region of the encodedpad, a third measure of reflectance, measuring first reflectance at thesecond region, and a fourth measure of reflectance, measuring secondreflectance at the second region; and wherein said processor isconnected to said second reflectance sensor, and said processor furtherprogrammed to: determine, from the third measure of reflectance, a thirdencoded value for position relative to the first axis of the encodedpad; and determine, from the fourth measure of reflectance, a fourthencoded value for position relative to the second axis of the encodedpad.
 5. The data input system recited in claim 4 wherein said processoris further programmed to determine, from the four measures ofreflectance, an orientation angle of the data input device.
 6. The datainput system recited in claim 4 wherein the first reflectance sensor isadapted to measure through a first opening, and the second reflectancesensor is adapted to measure through a second opening.
 7. The data inputsystem recited in claim 4 wherein the first and second reflectancesensors are adapted to measure through a common opening.
 8. The datainput system recited in claim 4 wherein the first and second reflectancesensors are two pixels of a single color sensor array.
 9. The data inputsystem recited in claim 4, wherein each of the first and secondreflectance sensors is a single pixel color photo sensor.
 10. An encodedpad having position and orientation encoding, the pad comprising: alinear variation of a first reflectance along a first axis of theencoded pad, the linear variation of the first reflectance materialbeing formed according to positional information in the first axis ofthe encoded pad; and a linear variation of the second reflectance alonga second axis of the encoded pad, the linear variation of the secondreflectance material being formed according to positional information inthe second axis of the encoded pad; wherein each of the first and secondreflectances is a wavelength dependent reflectance; a third reflectanceuniformly distributed on the encoding pad, wherein position of the inputdevice is computed through the ratio of the first reflectance to thethird reflectance, and the ratio of the second reflectance to the thirdreflectance.
 11. An input system, comprising: an encoded pad havingposition encoding; variation of a first reflectance along a first axisof the encoded pad, the variation of the first reflectance materialbeing formed uniquely according to positional information along thefirst axis; variation of a second reflectance along a second axis of theencoded pad, the variation of the second reflectance material beingformed uniquely according to positional information along the secondaxis; an input device adapted to image a portion of the encoded pad; afirst sensor located in the input device for measuring the first andsecond reflectances; a second sensor located on the input device formeasuring the first and second reflectance; and a processor connected tofirst and second sensors, wherein the processor is adapted to compute atleast an encoded position value from the measurement of the first andsecond reflectance; further comprising a third reflectance uniformlydistributed on the encoding pad, wherein position of the input device iscomputed through the ratio of the first reflectance to the thirdreflectance, and the ratio of the second reflectance to the thirdreflectance.
 12. The input system recited in claim 11 is an opticalcomputer mouse.
 13. The input system recited in claim 12 wherein thefirst and second reflectance sensors are adapted to measure through acommon opening located on the input device.
 14. The input system recitedin claim 11, wherein each of the first, second and third reflectances isa wavelength-dependent reflectance.
 15. The input system recited inclaim 11 wherein the first sensor is adapted to measure through a firstopening on the input device, and the second reflectance sensor isadapted to measure through a second opening on the input device.
 16. Theinput system recited in claim 11 wherein the first and second sensorsare two pixels from a single color sensor array.